Utilisation des boucles pour répéter un groupe de commandes

Pour répéter le même groupe de commandes à plusieurs reprises, utilisez l'une des structures de boucle suivantes. Vous disposez de plusieurs types de boucles. Chaque type de boucle propose une méthode de sortie de la boucle différente, basée sur un test conditionnel.

Les commandes de boucle et autres commandes associées sont accessibles via les menus Contrôle (Control) et Transfert (Transfer) de l'Éditeur de programmes.

Lorsque vous utilisez l'une des structures de boucle, le modèle correspondant est inséré à l'emplacement du curseur. Vous pouvez alors commencer à saisir les commandes à exécuter à l'intérieur de la boucle.

Boucles For...EndFor

Une boucle For...EndFor utilise un compteur pour contrôler le nombre d'exécution de la boucle. La syntaxe de la commande For est la suivante :

Remarque : La valeur de fin peut être inférieure à la valeur de départ, à condition que l'incrément soit négatif.

For variable, début, fin[, incrément]
 

À

Á

Â

Ã

À

Variable utilisée comme compteur

Á

Valeur du compteur utilisée lors de la première exécution de la boucle For

Â

Quitte la boucle lorsque la variable excède cette valeur.

Ã

Ajouté au compteur à chaque nouvelle exécution de la boucle For (si cette valeur facultative n'est pas utilisée, la valeur de l'incrément est 1.)

Lors de l'exécution de la boucle For, la valeur de la variable est comparée à la valeur de fin. Si la variable n'excède pas la valeur de fin, la boucle est exécutée. Dans le cas contraire, l'exécution du programme se poursuit en effectuant un saut jusqu'à la commande située après EndFor.

Remarque : la commande For incrémente automatiquement la variable du compteur de sorte que la fonction ou le programme puisse sortir de la boucle après un certain nombre d'exécutions de celle-ci.

À la fin de la boucle (EndFor), le programme revient au niveau de la commande For, incrémente la variable et la compare à la valeur de fin.

Par exemple :

À

Affiche 0, 1, 2, 3, 4 et 5.

Á

Affiche 6. Lorsque la variable atteint 6, la boucle n'est pas exécutée.

Remarque : Vous pouvez déclarer la variable du compteur comme variable locale si elle ne doit pas être enregistrée après l'arrêt de la fonction ou du programme.

Boucles While...EndWhile

Une boucle While...EndWhile répète un bloc de commandes tant qu'une condition spécifiée est vraie. La syntaxe de la commande While est la suivante :

While condition

Lorsque la commande While est exécutée, la condition est évaluée. Si la condition est vraie, la boucle est exécutée. Dans le cas contraire, l'exécution du programme se poursuit en effectuant un saut jusqu'à la commande située après EndWhile.

Remarque : la commande While ne change pas automatiquement la condition. Vous devez ajouter des commands qui permettent à la fonction ou au programme de sortir de la boucle.

À la fin de la boucle (EndWhile), l'exécution du programme se poursuit de nouveau au niveau de la commande While, où la condition est réévaluée.

Pour exécuter la boucle la première fois, la condition doit être vrai.

Toutes les variables référencées dans la condition doivent être définies avant l'exécution de la commande While. (Vous pouvez définir les valeurs dans une fonction ou un programme ou encore demander à l'utilisateur de les saisir.)
La boucle doit contenir les commandes qui modifient les valeurs de la condition, et éventuellement font qu'elle soit fausse. Sinon, la condition est toujours vraie et la fonction ou le programme ne peut pas sortir de la boucle (laquelle devient une boucle infinie).

Par exemple :

À

Définit la variable x.

Á

Affiche 0, 1, 2, 3 et 4.

Â

Incrémente la variable x.

Ã

Affiche 5. Lorsque x atteint 5, la boucle n'est pas exécutée.

Boucles Loop...EndLoop

Loop...EndLoop crée une boucle infinie, qui se répète indéfiniment. La commande Loop n'a pas d'argument.

En général, vous insérez dans une boucle les commandes permettant au programme de sortir de celle-ci. Les commandes souvent utilisées à cet effet sont les suivantes : If, Exit, Goto et Lbl . Par exemple :

À

Une commande If vérifie la condition.

Á

Sort de la boucle et revient à cet emplacement lorsque x atteint 6.

Remarque : la commande Exit permet de sortir de la boucle active.

Dans cet exemple, la commande If peut se trouver en tout point de la boucle.

Si la commande If se trouve :

La boucle est :

Au début de la boucle

Exécutée sous réserve que la condition soit vraie.

À la fin de la boucle

Exécutée au moins une fois, puis répétée seulement si la condition est vraie.

La commande If peut être utilisée conjointement à une commande Goto pour que l'exécution du programme passe sous le contrôle d'une commande Lbl spécifiée.

Répétition immédiate d'une boucle

La commande Cycle permet de transférer immédiatement le contrôle de l'exécution d'un programme à l'itération suivante d'une boucle (avant la fin de l'exécution de l'itération en cours). Cette commande s'utilise avec les blocs For...EndFor, While...EndWhile et Loop...EndLoop.

Boucles Lbl et Goto

Bien que les commandes Lbl et Goto ne soient pas des commandes de boucle à proprement parler, elles peuvent être utilisées pour créer une boucle infinie. Par exemple :

Comme dans le cas du bloc Loop...EndLoop, la boucle doit contenir des commandes permettant à la fonction ou au programme de sortir de celle-ci.